package practice.Day2;

import java.util.Scanner;

/**
 * @Author quan
 * @Description 排序子数组
 * @Date 2023/5/11 20:35
 */
public class Num1_SortSubString {
    /**
     * 方法1：标志位法：但是看不懂，不知道这个标志位什么时候改变和计数。没看懂
     * @param args
     */
    //非递减就是a[i]<=a[i+1]，递减就是a[i]>a[i+1]，非递增就是a[i]>=a[i+1]，递增就是a[i]<a[i+1]。
//    public static void main(String[] args) {
////        int n = 8;
////        int[] arr = {1,2,3,2,2,1,3,4};
//        Scanner sc = new Scanner(System.in);
//        while (sc.hasNext()){
//            int n = sc.nextInt();
//            sc.nextLine();
//            int[] arr = new int[n];
//            for(int i = 0; i < n; i++){
//                arr[i] = sc.nextInt();
//            }
//            int count = 1;
//            //1、定义一个标志位：flag=1表示递增情况，flag=-1表示递减情况。
//            int flag = 0;
//            for (int i = 1; i < n; i++) {
//                //2、如果是递增情况
//                if(arr[i] > arr[i-1]){
//                    //3、判断此时的标志位：如果标志位是0，将标志位变为1
//                    if(flag==0){
//                        flag = 1;
//                    }
//                    //4、如果标志位是-1，说明之前的标志位是递减的
//                    if(flag == -1){
//                        flag = 0;
//                        //此时计数+1
//                        count++;
//                    }
//                } //如果是递减情况
//                else if (arr[i] < arr[i-1]) {
//                    if(flag == 0){
//                        flag = -1;
//                    }
//                    if(flag == 1){
//                        flag = 0;
//                        count++;
//                    }
//                }
//            }
//            System.out.println(count);
//        }
//        sc.close();
//    }

    /**
     * 方法2：使用while循环
     * @param args
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        //1、由于判断递减与递增的时候使用的是arr[i]与arr[i+1]，所以我们定义数组长度的时候要比实际输入长度+1，避免索引越界
        int[] arr = new int[n+1];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }

        int i = 0;
        int count = 0;
        //开始遍历每一个元素
        while (i<n){
            //2、如果是非递减：递增同时有相等元素
            if(arr[i] < arr[i+1]){
                //while循环中一直是非递减
                while (i < n && arr[i] <= arr[i+1]){
                    i++;
                }
                //3、出了while循环，说明是已经碰见了转折点，计数+1;
                count++;
                //更新i值到专责点
                i++;
            } //如果是相等值，计数不变
            else if (arr[i] == arr[i+1]) {
                i++;
            }
            //5、如果是非递增
            else{
                while (i<n && arr[i] >= arr[i+1]){
                    i++;
                }
                count++;
                i++;
            }
        }
        System.out.println(count);
    }
}